home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_qt3.idb / usr / freeware / Qt / examples / trayicon / main.cpp.z / main.cpp
C/C++ Source or Header  |  2002-04-08  |  2KB  |  91 lines

  1. static const char * const maximize_xpm[]={
  2. "12 12 2 1",
  3. "# c #000000",
  4. ". c None",
  5. "............",
  6. "............",
  7. ".##########.",
  8. ".##########.",
  9. ".#........#.",
  10. ".#........#.",
  11. ".#........#.",
  12. ".#........#.",
  13. ".#........#.",
  14. ".##########.",
  15. "............",
  16. "............"};
  17.  
  18.  
  19. static const char * const minimize_xpm[] = {
  20. "12 12 2 1",
  21. "# c #000000",
  22. ". c None",
  23. "............",
  24. "............",
  25. "............",
  26. "............",
  27. "............",
  28. "............",
  29. "............",
  30. "...######...",
  31. "...######...",
  32. "............",
  33. "............",
  34. "............"};
  35.  
  36. static const char * const normalize_xpm[] = {
  37. "12 12 2 1",
  38. "# c #000000",
  39. ". c None",
  40. "............",
  41. "....######..",
  42. "....######..",
  43. "....#....#..",
  44. "..######.#..",
  45. "..######.#..",
  46. "..#....###..",
  47. "..#....#....",
  48. "..#....#....",
  49. "..######....",
  50. "............",
  51. "............"};
  52.  
  53.  
  54.  
  55. #include "trayicon.h"
  56.  
  57. #include <qapplication.h>
  58. #include <qpixmap.h>
  59. #include <qpopupmenu.h>
  60. #include <qmainwindow.h>
  61.  
  62. int main( int argc, char **argv )
  63. {
  64.     QApplication app( argc, argv );
  65.  
  66.     QMainWindow mw;
  67.     app.setMainWidget( &mw );
  68.  
  69.     QPopupMenu menu;
  70.     menu.insertItem( "Show Normal", &mw, SLOT(showNormal()) );
  71.     menu.insertSeparator();
  72.     menu.insertItem( "&Quit", &app, SLOT(quit()) );
  73.     TrayIcon tray( QPixmap( (const char**)normalize_xpm ), "Show window", &menu );
  74.     QObject::connect(&tray,SIGNAL(clicked(const QPoint&)),&mw,SLOT(showNormal()));
  75.     
  76.     QPopupMenu menu2;
  77.     menu2.insertItem( "Minimize window", &mw, SLOT(showMinimized()) );
  78.     TrayIcon tray2( QPixmap( (const char**)minimize_xpm ), "Minimize window", &menu2 );
  79.     QObject::connect(&tray2,SIGNAL(clicked(const QPoint&)),&mw,SLOT(showMinimized()));
  80.  
  81.     TrayIcon tray3( QPixmap( (const char**)maximize_xpm ), "Maximize window" );
  82.     QObject::connect(&tray3,SIGNAL(clicked(const QPoint&)),&mw,SLOT(showMaximized()));
  83.  
  84.     mw.show();
  85.     tray.show();
  86.     tray2.show();
  87.     tray3.show();
  88.  
  89.     return app.exec();
  90. }
  91.